Skip to content

fix(release): use valid semantic-release commit_parser value - #113

Open
williaby wants to merge 1 commit into
mainfrom
fix/semantic-release-parser
Open

williaby wants to merge 1 commit into
mainfrom
fix/semantic-release-parser

Conversation

@williaby

@williaby williaby commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Generate a valid python-semantic-release commit_parser value (conventional) instead of the rejected pre-v10 alias conventional_commits.

Why

Projects generated from this template inherit commit_parser = "conventional_commits", and their Semantic Release workflow fails at the "Python Semantic Release" step (observed on homelab-infra run 36916602542 and rag-processor run 36919561488):

$> /opt/psr/.venv/bin/semantic-release -v version --no-commit --no-vcs-release
[error] Unrecognized commit parser value: 'conventional_commits'.
[error] Invalid import path 'conventional_commits', must use 'module:Class' format

The org reusable python-release.yml pins python-semantic-release v10.6.1, whose built-in parser registry only recognizes angular, conventional, conventional-monorepo, emoji, scipy and tag. At least eight generated repos carry the bad value (homelab-infra, rag-processor, audio-processor, llc-manager, python-libs, maester-tests, AMC, dna); each has its own fix PR.

Changes

  • {{cookiecutter.project_slug}}/pyproject.toml: commit_parser = "conventional".
  • {{cookiecutter.project_slug}}/.standards/pyproject.toml.baseline: same change in the commented reference line, so cruft/merge-standards stops re-propagating the bad value.
  • CLAUDE.md: same change in the documented configuration example.

Test plan

  • Rendered the template with cookiecutter --no-input, then ran uvx --from python-semantic-release==10.6.1 semantic-release --noop version --print on the generated project: exits 0 and prints a version. The same project with the old value exits 1 with Unrecognized commit parser value: 'conventional_commits'.
  • pre-commit run --files <changed files> passes.
  • Required PR checks green.

Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated the documented semantic-release commit parser name to conventional.

python-semantic-release v10 only recognizes the built-in commit parsers
"angular", "conventional", "conventional-monorepo", "emoji", "scipy" and
"tag". The template generated commit_parser = "conventional_commits", the
pre-v10 alias, which every generated project then fails on with
"Unrecognized commit parser value". Switch the generated pyproject.toml, the
standards baseline and the CLAUDE.md example to "conventional".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 2, 2026 02:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

🧰 Additional context used
📚 Code guidelines (1)
.github/copilot-instructions.md — auto-discovered

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: ByronWilliamsCPA/cookiecutter-python-template/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 80ae4dda-ff0a-46b9-81ff-d98b58556d9e

📥 Commits

Reviewing files that changed from the base of the PR and between efcf21f and 5bb4bda.

📒 Files selected for processing (3)
  • CLAUDE.md
  • {{cookiecutter.project_slug}}/.standards/pyproject.toml.baseline
  • {{cookiecutter.project_slug}}/pyproject.toml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

The semantic-release commit_parser value changes from conventional_commits to conventional in the project configuration, baseline configuration, and documentation.

Changes

Semantic-release parser

Layer / File(s) Summary
Update parser value
{{cookiecutter.project_slug}}/pyproject.toml, {{cookiecutter.project_slug}}/.standards/pyproject.toml.baseline, CLAUDE.md
The project setting, commented baseline setting, and documentation now use conventional as the commit_parser value.

Priority: ➖ Normal

Estimated code review effort: 1 (Trivial) | ~2 minutes

Change: Bug fix

Suggested labels: template, documentation

Merge Risk: ⚪ Minimal · up to 5bb4b

The generated project’s release workflow accepts the configured parser, so no outstanding issue prevents merging.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: replacing the invalid conventional_commits value with the valid semantic-release commit_parser value.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checked the parser line,
And found its name now neat and fine.
The config changed; the notes agree,
The baseline follows faithfully.
Then off it hopped beneath the moon,
To nibble clover, pleased and soon.

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot added documentation Improvements or additions to documentation template labels Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation template

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants